﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
<<<<<<< .mine
using System.Data;
=======
using System.Data;
using Telerik.Web.UI;
>>>>>>> .r55

public partial class Inventario_producto : System.Web.UI.Page
{
    private int accion; // 1: agregar 2:editar 3:eliminar
    private servicioreferenceWCF.IservicioWCFClient servicio;
    private servicioreferenceWCF.Producto producto;

    protected void Page_Load(object sender, EventArgs e)
     {
        if (Session["accion"] != null)
        {
            accion = (int)Session["accion"];
        }

        if (Session["producto"] != null)
        {
            producto = (servicioreferenceWCF.Producto)Session["producto"];
        }

        servicio = new servicioreferenceWCF.IservicioWCFClient();
<<<<<<< .mine

        cargarCombos();

=======

        if (Session["dt"] != null)
        {
            RadGrid1.DataSource = (DataTable)Session["dt"];
        } else {
            cargaDatos();
        }

        

>>>>>>> .r55
    }

    protected void btnAgregar_Click(object sender, EventArgs e)
    {
        Session["accion"] = 1;
        habilitarControles();
    }

    private void cargarDatos()
    {
        txtNombre.Text = producto.Nombre;
        txtDescripcion.Text = producto.Descripcion;
    }

    private void habilitarControles()
    {
        txtDescripcion.Enabled = true;
        txtNombre.Enabled = true;

        btnAceptar.Enabled = true;
        btnCancelar.Enabled = true;

        btnAgregar.Enabled = false;
        btnEliminar.Enabled = false;
        btnEditar.Enabled = false;

        txtNombre.Focus();
    }

    private void deshabilitarControles()
    {
        txtDescripcion.Enabled = true;
        txtNombre.Enabled = true;

        btnAceptar.Enabled = false;
        btnCancelar.Enabled = false;

        btnAgregar.Enabled = true;
        btnEliminar.Enabled = true;
        btnEditar.Enabled = true;
    }

    private void limpiarControles()
    {
        txtDescripcion.Text = "";
        txtNombre.Text = "";
    }


    protected void btnAceptar_Click(object sender, EventArgs e)
    {
        if (accion == 1)
        {
            producto = new servicioreferenceWCF.Producto();
            producto.Nombre = txtNombre.Text;
            producto.Descripcion = txtDescripcion.Text;
            servicio.CreateProducto(producto);
        }

        if (accion == 2)
        {
            producto.Nombre = txtNombre.Text;
            producto.Descripcion = txtDescripcion.Text;
            servicio.UpdateProducto(producto);
        }

        if (accion == 3)
        {
            servicio.DeleteProducto(producto);
        }

        RadGrid1.Rebind();
        limpiarControles();
        deshabilitarControles();

    }


    protected void btnEditar_Click(object sender, EventArgs e)
    {
        if (RadGrid1.SelectedItems.Count == 1)
        {
            producto = servicio.ReadProducto(RadGrid1.SelectedItems[0].Cells[2].Text);
            Session["producto"] = producto;
            Session["accion"] = 2;

            txtNombre.Text = producto.Nombre;
            txtDescripcion.Text = producto.Descripcion;

            habilitarControles();
        }
    }
    protected void btnEliminar_Click(object sender, EventArgs e)
    {
        if (RadGrid1.SelectedItems.Count == 1)
        {
            producto = servicio.ReadProducto(RadGrid1.SelectedItems[0].Cells[2].Text);
            Session["producto"] = producto;
            Session["accion"] = 3;

            txtNombre.Text = producto.Nombre;
            txtDescripcion.Text = producto.Descripcion;

            habilitarControles();
        }
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        servicioreferenceWCF.Producto[] listaproductos =  servicio.ReadAllProductos();
    }
<<<<<<< .mine

    private void cargarCombos() 
    {
        cboMarca.DataValueField = "marcaid";
        cboMarca.DataTextField = "nombre"; 
        cboMarca.DataSource= servicio.ReadAllMarcas();
        cboMarca.DataBind();


        cboLinea.DataValueField = "lineaid";
        cboLinea.DataTextField = "nombre";
        cboLinea.DataSource = servicio.ReadAllLineas();
        cboLinea.DataBind();

        cboGama.DataValueField = "gamaid";
        cboGama.DataTextField = "nombre";
        cboGama.DataSource = servicio.ReadAllGamas();
        cboGama.DataBind();

        cboPresentacion.DataValueField = "presentacionid";
        cboPresentacion.DataTextField = "nombre";
        cboPresentacion.DataSource = servicio.ReadAllPresentacions();
        cboPresentacion.DataBind();

        cboProveedor.DataValueField = "proveedorid";
        cboProveedor.DataTextField = "nombre";
        cboProveedor.DataSource = servicio.ReadAllProveedors();
        cboProveedor.DataBind();

        cboUnidadMedida.DataValueField = "unidadmedidaid";
        cboUnidadMedida.DataTextField = "nombre";
        cboUnidadMedida.DataSource = servicio.ReadAllUnidadmedidas();
        cboUnidadMedida.DataBind();

        cboUso.DataValueField = "usoid";
        cboUso.DataTextField = "nombre";
        cboUso.DataSource = servicio.ReadAllUsos();
        cboUso.DataBind();

        cboColor.DataValueField = "colorid";
        cboColor.DataTextField = "nombre";
        cboColor.DataSource = servicio.ReadAllColors();
        cboColor.DataBind();


    }

    public void cargaDatos() {

        servicioreferenceWCF.Producto[] ProductList = servicio.ReadAllProductos();


        // Create a DataTable instance
        DataTable dTbl = new DataTable("myDynamicTable");

        // Create a DataColumn instances
        DataColumn dcProductoID = new DataColumn();
        DataColumn dcProductoNombre = new DataColumn();
        DataColumn dcEstado = new DataColumn();
        DataColumn dcMarca = new DataColumn();
        DataColumn dcGama = new DataColumn();
        DataColumn dcProveedor = new DataColumn();
        DataColumn dcUso = new DataColumn();
        DataColumn dcGenero = new DataColumn();
        DataColumn dcPresentacion = new DataColumn();
        DataColumn dcColor = new DataColumn();

        //DataColumn dcProducto = new DataColumn();
        //DataColumn dcCategoria = new DataColumn();
        //DataColumn dcProveedor = new DataColumn();

        //dcProducto.ColumnName = "Producto";
        //dcProducto.DataType = Type.GetType("System.String");

        //dcCategoria.ColumnName = "Categoria";
        //dcCategoria.DataType = Type.GetType("System.String");

        //dcProveedor.ColumnName = "Proveedor";
        //dcProveedor.DataType = Type.GetType("System.String");

        dcProductoID.ColumnName = "id";
        dcProductoNombre.ColumnName = "nombre";
        dcEstado.ColumnName = "Estado";
        dcMarca.ColumnName = "Marca";
        dcGama.ColumnName = "Gama";
        dcProveedor.ColumnName = "Proveedor";
        dcUso.ColumnName = "Uso";
        dcGenero.ColumnName = "Genero";
        dcPresentacion.ColumnName = "Presentacion";
        dcColor.ColumnName = "Color";

        dcProductoID.DataType = Type.GetType("System.String");
        dcProductoID.DataType = Type.GetType("System.String");
        dcProductoID.DataType = Type.GetType("System.String");
        dcProductoID.DataType = Type.GetType("System.String");
        dcProductoID.DataType = Type.GetType("System.String");
        dcProductoID.DataType = Type.GetType("System.String");
        dcProductoID.DataType = Type.GetType("System.String");
        dcProductoID.DataType = Type.GetType("System.String");


        // Add these DataColumns into the DataTable

        dTbl.Columns.Add(dcProducto);
        dTbl.Columns.Add(dcCategoria);
        dTbl.Columns.Add(dcProveedor);

        foreach (ServiceReference1.Product p in ProductList)
        {
            // Create a DataRow Instance from the table we create above, with NewRow();
            DataRow myrow = dTbl.NewRow();

            myrow["Producto"] = p.ProductName;
            myrow["Categoria"] = p.Category.CategoryName;
            myrow["Proveedor"] = p.Supplier.CompanyName;
            // Add the row into the table
            dTbl.Rows.Add(myrow);
        }

        DataSet ds = new DataSet("dsProducto");
        ds.Tables.Add(dTbl);

        RadGrid1.DataSource = dTbl.DefaultView;
        RadGrid1.Columns[0].HeaderText = "Producto";
        RadGrid1.Columns[1].HeaderText = "Categoria";
        RadGrid1.Columns[2].HeaderText = "Proveedor";

        Session["dt"] = dTbl;

        RadGrid1.DataBind();
        
    }

=======

    private void cargarCombos() 
    {
        cboMarca.DataValueField = "marcaid";
        cboMarca.DataTextField = "nombre"; 
        cboMarca.DataSource= servicio.ReadAllMarcas();
        cboMarca.DataBind();


        cboLinea.DataValueField = "lineaid";
        cboLinea.DataTextField = "nombre";
        cboLinea.DataSource = servicio.ReadAllLineas();
        cboLinea.DataBind();

        cboGama.DataValueField = "gamaid";
        cboGama.DataTextField = "nombre";
        cboGama.DataSource = servicio.ReadAllGamas();
        cboGama.DataBind();

        cboPresentacion.DataValueField = "presentacionid";
        cboPresentacion.DataTextField = "nombre";
        cboPresentacion.DataSource = servicio.ReadAllPresentacions();
        cboPresentacion.DataBind();

        cboProveedor.DataValueField = "proveedorid";
        cboProveedor.DataTextField = "nombre";
        cboProveedor.DataSource = servicio.ReadAllProveedors();
        cboProveedor.DataBind();

        cboUnidadMedida.DataValueField = "unidadmedidaid";
        cboUnidadMedida.DataTextField = "nombre";
        cboUnidadMedida.DataSource = servicio.ReadAllUnidadmedidas();
        cboUnidadMedida.DataBind();

        cboUso.DataValueField = "usoid";
        cboUso.DataTextField = "nombre";
        cboUso.DataSource = servicio.ReadAllUsos();
        cboUso.DataBind();

        cboColor.DataValueField = "colorid";
        cboColor.DataTextField = "nombre";
        cboColor.DataSource = servicio.ReadAllColors();
        cboColor.DataBind();


    }

    public void cargaDatos() {

        servicioreferenceWCF.Producto[] ProductList = servicio.ReadAllProductos();


        // Create a DataTable instance
        DataTable dTbl = new DataTable("myDynamicTable");

        // Create a DataColumn instances
        DataColumn dcProductoID = new DataColumn();
        DataColumn dcProductoNombre = new DataColumn();
        DataColumn dcEstado = new DataColumn();
        DataColumn dcMarca = new DataColumn();
        DataColumn dcProveedor = new DataColumn();
        DataColumn dcUso = new DataColumn();
        DataColumn dcGenero = new DataColumn();
        DataColumn dcPresentacion = new DataColumn();
        DataColumn dcColor = new DataColumn();


        dcProductoID.ColumnName = "id";
        dcProductoNombre.ColumnName = "nombre";
        dcEstado.ColumnName = "Estado";
        dcMarca.ColumnName = "Marca";
        dcProveedor.ColumnName = "Proveedor";
        dcUso.ColumnName = "Uso";
        dcGenero.ColumnName = "Genero";
        dcPresentacion.ColumnName = "Presentacion";
        dcColor.ColumnName = "Color";

        dcProductoID.DataType = Type.GetType("System.String");
        dcProductoNombre.DataType = Type.GetType("System.String");
        dcEstado.DataType = Type.GetType("System.String");
        dcMarca.DataType = Type.GetType("System.String");
        dcProveedor.DataType = Type.GetType("System.String");
        dcUso.DataType = Type.GetType("System.String");
        dcGenero.DataType = Type.GetType("System.String");
        dcPresentacion.DataType = Type.GetType("System.String");
        dcColor.DataType = Type.GetType("System.String");

        // Add these DataColumns into the DataTable

        dTbl.Columns.Add(dcProductoID);
        dTbl.Columns.Add(dcProductoNombre);
        dTbl.Columns.Add(dcEstado);
        dTbl.Columns.Add(dcMarca);
        dTbl.Columns.Add(dcProveedor);
        dTbl.Columns.Add(dcUso);
        dTbl.Columns.Add(dcGenero);
        dTbl.Columns.Add(dcPresentacion);
        dTbl.Columns.Add(dcColor);

        foreach (servicioreferenceWCF.Producto p in ProductList)
        {
            // Create a DataRow Instance from the table we create above, with NewRow();
            DataRow myrow = dTbl.NewRow();

            myrow["id"] = p.Productoid;
            myrow["nombre"] = p.Nombre;
            myrow["Estado"] = p.Activo;
            myrow["Marca"] = p.Marca.Nombre;
            myrow["Proveedor"] = p.Proveedor.Nombre;
            myrow["Uso"] = p.Uso.Nombre;
            myrow["Genero"] = p.Genero;
            myrow["Presentacion"] = p.Presentacion.Nombre;
            myrow["Color"] = p.Color.Nombre;

            // Add the row into the table
            dTbl.Rows.Add(myrow);
        }


        RadGrid1.DataSource = dTbl.DefaultView;

        GridBoundColumn gbc1 = new GridBoundColumn();
        GridBoundColumn gbc2 = new GridBoundColumn();
        GridBoundColumn gbc3 = new GridBoundColumn();
        GridBoundColumn gbc4 = new GridBoundColumn();
        GridBoundColumn gbc5 = new GridBoundColumn();
        GridBoundColumn gbc6 = new GridBoundColumn();
        GridBoundColumn gbc7 = new GridBoundColumn();
        GridBoundColumn gbc8 = new GridBoundColumn();
        GridBoundColumn gbc9 = new GridBoundColumn();

        gbc1.DataField = "id";
        gbc2.DataField = "nombre";
        gbc3.DataField = "Estado";
        gbc4.DataField = "Marca";
        gbc5.DataField = "Proveedor";
        gbc6.DataField = "Uso";
        gbc7.DataField = "Genero";
        gbc8.DataField = "Presentacion";
        gbc9.DataField = "Color";

        gbc1.HeaderText = "id";
        gbc2.HeaderText = "nombre";
        gbc3.HeaderText = "Estado";
        gbc4.HeaderText = "Marca";
        gbc5.HeaderText = "Proveedor";
        gbc6.HeaderText = "Uso";
        gbc7.HeaderText = "Genero";
        gbc8.HeaderText = "Presentacion";
        gbc9.HeaderText = "Color";

        gbc1.SortExpression = "id";
        gbc2.SortExpression = "nombre";
        gbc3.SortExpression = "Estado";
        gbc4.SortExpression = "Marca";
        gbc5.SortExpression = "Proveedor";
        gbc6.SortExpression = "Uso";
        gbc7.SortExpression = "Genero";
        gbc8.SortExpression = "Presentacion";
        gbc9.SortExpression = "Color";

        RadGrid1.MasterTableView.Columns.Add(gbc1);
        RadGrid1.MasterTableView.Columns.Add(gbc2);
        RadGrid1.MasterTableView.Columns.Add(gbc3);
        RadGrid1.MasterTableView.Columns.Add(gbc4);
        RadGrid1.MasterTableView.Columns.Add(gbc5);
        RadGrid1.MasterTableView.Columns.Add(gbc6);
        RadGrid1.MasterTableView.Columns.Add(gbc7);
        RadGrid1.MasterTableView.Columns.Add(gbc8);
        RadGrid1.MasterTableView.Columns.Add(gbc9);



        Session["dt"] = dTbl;

        RadGrid1.DataBind();
        
    }

    protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            GridDataItem item = (GridDataItem)e.Item;
            ((LinkButton)item["AutoGeneratedEditColumn"].Controls[0]).Text = "Editar";
            ((LinkButton)item["AutoGeneratedDeleteColumn"].Controls[0]).Text = "Eliminar";
        } 
    }
>>>>>>> .r55
}
